// 先看任务队列, 同步任务  微任务 宏任务,
// for (var i = 0; i < 5; i++) {
//   setTimeout(function() {
//       console.log(new Date, i);
//   }, 1000);
// }

// // 这是同步任务, 首先输出
// console.log(new Date, i);
// 预期的输出结果:
/*
time 5
item 5
item 5
item 5
item 5
item 5
item 5
一共输出六次, 其中第一次的时间是最先的, 然后, 后面的时间是连续的, 但是其中没有1s的间隔因为直接被拉进去, 就运行了, 不会等待1s.
*/

for (var i = 0; i < 5; i++) {
  (function(j) {  // j = i
      setTimeout(function() {
          console.log(new Date, j);
      }, 1000);
  })(i);
}

// 先输出
console.log(new Date, i);
/**
 *  先输出 time 5(这里首先输出的是循环完之后的+1那个数， 不是循环体内的数)
 * 再输出
 * time 0
 * time 1
 * time 2
 * time 3
 * time 4
 */

// for(let j=0; j<5;j++){
//     console.log(j)
// }
// console.log(j)

